Pubblicata: 28 maggio 2025
Salvo diversa indicazione, le seguenti modifiche si applicano alla versione più recente del canale beta di Chrome per Android, ChromeOS, Linux, macOS e Windows. Scopri di più sulle funzionalità elencate qui tramite i link forniti o dall'elenco su ChromeStatus.com. Chrome 138 è in versione beta dal 28 maggio 2025. Puoi scaricare la versione più recente su Google.com per computer o sul Google Play Store su Android.
CSS e UI
Questa release aggiunge sei nuove funzionalità CSS e UI.
Parola chiave per le dimensioni stretch
CSS
Una parola chiave per le proprietà di dimensionamento CSS (ad es. width
e height
) che consente agli elementi di espandersi fino a riempire esattamente lo spazio disponibile del blocco contenente. È simile a 100%
, tranne per il fatto che la dimensione risultante viene applicata alla casella del margine dell'elemento anziché alla casella indicata da box-sizing
. L'utilizzo di questa parola chiave consente all'elemento di mantenere i margini mantenendo al contempo le dimensioni più grandi possibili.
Funzioni relative ai segni CSS: abs()
, sign()
Le funzioni relative al segno abs()
e sign()
calcolano varie funzioni legate al segno del loro argomento.
Variabile di ambiente CSS per la scala dei caratteri a livello di sistema operativo
Espone la scala dei caratteri preferita di un utente al CSS. Al momento, non è pratico per una pagina rilevare se l'utente ha modificato le dimensioni del carattere preferite con le preferenze del sistema operativo. Questa variabile di ambiente CSS rifletterà la scala scelta dall'utente.
sibling-index()
e sibling-count()
CSS
Le funzioni sibling-index()
e sibling-count()
possono essere utilizzate come numeri interi nei valori delle proprietà CSS per applicare uno stile a un elemento in base alla sua posizione tra i fratelli o al numero totale di fratelli, rispettivamente. Queste funzioni possono essere utilizzate direttamente come valori interi, ma ciò che è più interessante è che possono essere utilizzate all'interno delle espressioni calc()
.
li {
animation-delay: calc(0.1s * sibling-index());
}
Notazione funzionale dell'avanzamento dell'interpolazione: funzione progress()
CSS
La notazione funzionale progress()
è una funzione matematica che restituisce un valore <number>
che rappresenta la posizione di un calcolo (il valore di avanzamento) tra altri due calcoli (il valore di inizio avanzamento e il valore di fine avanzamento).
API Enumeration Viewport Segments
L'API Viewport Segments consente agli sviluppatori di adattare il layout web in modo da avere come target i dispositivi pieghevoli. I segmenti dell'area visibile definiscono la posizione e le dimensioni di una regione distinta dal punto di vista logico dell'area visibile. I segmenti del viewport vengono creati quando il viewport è suddiviso da una o più funzionalità hardware (ad esempio una piega o una cerniera tra display separati) che fungono da divisori. I segmenti sono le regioni del viewport che possono essere trattate come logicamente distinte dallo sviluppatore.
API web
Aggiunta del supporto per i metadati relativi all'orientamento dei fotogrammi video a WebCodecs
Vengono introdotti i valori rotation: int
e flip: bool
in varie interfacce relative ai video in WebCodecs in modo che gli sviluppatori possano lavorare con origini frame che hanno un orientamento (ad esempio, fotocamere Android e determinati contenuti multimediali). L'interfaccia VideoFrame
aumenta la possibilità di creare VideoFrame con rotazione e capovolgimento arbitrari, nonché gli accessori per queste informazioni sull'oggetto VideoFrame
. L'oggetto
VideoDecoderConfig
ottiene i campi rotation
e flip
che vengono emessi automaticamente sugli oggetti VideoFrame decodificati. La classe VideoEncoder
ottiene meccanismi per trasmettere informazioni su rotazione e capovolgimento da encode()
a VideoDecoderConfig
emesse nell'ambito di EncodedVideoChunkMetadata
. Se viene chiamato
encode()
con frame con orientamento diverso, verrà generata un'eccezione non fatale. Il metodo configure()
può essere utilizzato per reimpostare l'orientamento consentito.
API Crash Reporting: is_top_level
e visibility_state
Questa funzionalità aggiunge i campi di stringa is_top_level
e visibility_state
al corpo dell'API di generazione di report sugli arresti anomali che viene inviato all'endpoint di reporting predefinito per i report sugli arresti anomali.
Esegui la fuga di <
e >
negli attributi durante la serializzazione
Esegui la fuga di <
e >
nei valori degli attributi durante la serializzazione. In questo modo, si riduce il rischio di attacchi XSS di mutazione, che si verificano quando il valore di un attributo viene interpretato come token di tag di inizio dopo essere stato serializzato e analizzato di nuovo.
Norme di integrità per gli script
Subresource-Integrity (SRI) consente agli sviluppatori di assicurarsi che gli asset che intendono caricare siano effettivamente quelli che stanno caricando. Tuttavia, al momento non esiste un modo per gli sviluppatori di assicurarsi che tutti i loro script siano convalidati utilizzando SRI.
L'intestazione Integrity-Policy
consente agli sviluppatori di affermare che ogni risorsa di un determinato tipo deve essere sottoposta a controllo di integrità. Se si tenta di caricare una risorsa di questo tipo senza metadati di integrità, il tentativo non andrà a buon fine e verrà attivato un report di violazione.
Quota di spazio di archiviazione registrata prevedibile
Segnala una quota di spazio di archiviazione prevedibile dall'API di stima di StorageManager per i siti che non dispongono di autorizzazioni di archiviazione illimitate. È possibile rilevare la modalità di navigazione di un utente utilizzando la quota di spazio di archiviazione registrata perché lo spazio di archiviazione reso disponibile è notevolmente inferiore in modalità di navigazione in incognito rispetto alla modalità normale.
Si tratta di una misura di mitigazione che impedisce il rilevamento della modalità di navigazione di un utente utilizzando l'API di archiviazione registrando una quota artificiale, pari a utilizzo + min(10 GB, disco con arrotondamento per eccesso al GB più vicino), in tutte le modalità di navigazione per i siti con autorizzazioni di archiviazione limitate. I siti con autorizzazioni di archiviazione illimitate non saranno interessati. Anche la quota impostata non sarà interessata.
Evento pushsubscriptionchange
al momento della nuova sottoscrizione
L'evento pushsubscriptionchange
viene attivato nei worker di servizio quando viene concessa nuovamente l'autorizzazione di notifica a un'origine per la quale in passato era stato creato un abbonamento push, ma che è stata revocata a causa di una modifica dell'autorizzazione (da concessa a rifiutata/predefinita). L'evento verrà attivato con oldSubscription
e
newSubscription
vuoti.
Regole di speculazione: aggiungi prefetchCache
e prerenderCache
all'intestazione Clear-Site-Data
Due nuovi valori per l'intestazione Clear-Site-Data
per aiutare gli sviluppatori a scegliere come target la cancellazione della cache di prerendering e prefetch: prefetchCache
e prerenderCache
.
Possono essere inviati per qualsiasi richiesta e non devono essere effettuati sulla richiesta del documento (ad esempio, possono essere restituiti in risposta alle chiamate dell'API di aggiunta al carrello o di accesso e logout per eliminare le speculazioni sulla modifica dello stato).
Regole di speculazione: campo target_hint
Questa estensione della sintassi delle regole di speculazione consente agli sviluppatori di specificare il campo target_hint
. Questo campo fornisce un suggerimento per indicare un target navigabile
in cui verrà attivata una pagina sottoposta a prerendering. Quando _blank
viene specificato come indicazione, è possibile attivare una pagina sottoposta a prerendering per una pagina navigabile aperta da window.open()
. Il campo non è supportato per il pre-caricamento.
Norme relative allo stesso dominio rigorose per l'API Storage Access
Modifica la semantica dell'API Storage Access in modo da rispettare rigorosamente il criterio di stessa origine per quanto riguarda la sicurezza. In altre parole, l'utilizzo di document.requestStorageAccess()
in un frame associa i cookie alle richieste all'origine (non al sito) dell'iframe per impostazione predefinita.
API Summarizer
Un'API JavaScript per produrre riepiloghi del testo inserito, supportata da un modello linguistico di IA. È sempre più probabile che i browser e i sistemi operativi accedano
a un modello linguistico. Esponendo questo modello integrato, evitiamo che ogni sito web debba scaricare il proprio modello linguistico di diversi gigabyte o inviare il testo di input ad API di terze parti. L'API di sintesi in particolare espone un'API di alto livello per l'interfaccia con un modello linguistico al fine di riepilogare gli input per una serie di casi d'uso in un modo che non dipende dal modello linguistico specifico in questione. È disponibile un criterio aziendale (GenAILocalFoundationalModelSettings
) per disattivare il download del modello sottostante, che renderebbe questa API non disponibile.
Scopri di più nell'articolo Generare riepiloghi concisi con l'IA integrata.
API Language Detector
Un'API JavaScript per rilevare la lingua utilizzata in un determinato testo, con livelli di fiducia. Il rilevamento della lingua è un importante supplemento alla traduzione e può essere utilizzato in combinazione con l'API Translator. Ad esempio, puoi acquisire l'input dell'utente in una lingua sconosciuta, determinarne la lingua e poi tradurlo in una lingua di destinazione specifica. Sebbene i browser spesso dispongano già di funzionalità di rilevamento della lingua, questa API offre la stessa potenza agli sviluppatori web con un'API JavaScript, integrando l'API di traduzione.
È disponibile un criterio aziendale (GenAILocalFoundationalModelSettings
) per disattivare il download del modello sottostante, il che renderebbe questa API non disponibile.
Scopri di più in Rileva la lingua utilizzata con l'IA integrata.
API Translator
Un'API JavaScript per fornire funzionalità di traduzione linguistica alle pagine web.
Sebbene i browser offrano sempre più spesso la traduzione di lingue ai propri utenti, queste funzionalità di traduzione possono essere utili anche per gli sviluppatori web. Questo accade soprattutto quando le funzionalità di traduzione integrate del browser non possono essere d'aiuto, ad esempio con i servizi dal vivo e interattivi. È disponibile un criterio aziendale (GenAILocalFoundationalModelSettings
) per disattivare il download del modello sottostante che renderebbe questa API non disponibile.
Scopri di più nella sezione Traduzione con l'IA integrata.
Estensioni dell'ambito delle app web
Aggiunge un campo manifest dell'app web "scope_extensions"
che consente alle app web di estendere il loro ambito ad altre origini. In questo modo, i siti che controllano più sottodomini e domini di primo livello possono essere presentati come una singola app web. Richiede che le origini elencate confermino l'associazione con l'app web utilizzando un file di configurazione .well-known/web-app-origin-association
.
Seriale web tramite Bluetooth su Android
Questa funzionalità consente alle pagine web e alle app web di connettersi alle porte seriali tramite Bluetooth su dispositivi Android. Chrome su Android ora supporta l'API Web Serial tramite Bluetooth RFCOMM. I criteri di Enterprise esistenti (DefaultSerialGuardSetting
, SerialAllowAllPortsForUrls
, SerialAllowUsbDevicesForUrls
, SerialAskForUrls
e SerialBlockedForUrls
) su altre piattaforme sono attivati negli stati future_on per Android. Tutti i criteri
tranne SerialAllowUsbDevicesForUrls
verranno attivati dopo l'attivazione della funzionalità. SerialAllowUsbDevicesForUrls
verrà attivato in un lancio futuro dopo che Android avrà fornito il supporto a livello di sistema delle porte seriali cablate.
Ritiro e rimozione
Questa versione di Chrome introduce le seguenti ritiri e rimozioni. Visita ChromeStatus.com per gli elenchi delle ritirate pianificate, delle ritirate in corso e delle rimozioni precedenti.
Questa release di Chrome ritira due funzionalità.
Ritiro della rimozione dell'intervallo asincrono per le estensioni Media Source
Lo standard Media Source è stato modificato molto tempo fa per non consentire un comportamento definito in modo ambiguo che prevede la rimozione di intervalli asincroni:
SourceBuffer.abort()
non interrompe più le operazioniSourceBuffer.remove()
.- L'impostazione
MediaSource.duration
non può più troncare i contenuti multimediali attualmente memorizzati nella cache.
Ora verranno lanciate eccezioni in entrambi i casi.
Rimuovere il fallback di SwiftShader
La possibilità di eseguire il fallback automatico a WebGL supportato dal renderer software SwiftShader è deprecata e la creazione del contesto WebGL non andrà a buon fine anziché eseguire il fallback a SwiftShader. Questa decisione è stata presa per due motivi principali:
- SwiftShader presenta un rischio elevato per la sicurezza a causa del codice JIT in esecuzione nel processo GPU di Chromium.
- Gli utenti hanno un'esperienza negativa quando passano da un WebGL ad alte prestazioni supportato dalla GPU a un'implementazione supportata dalla CPU. Gli utenti non hanno alcun controllo su questo comportamento ed è difficile descriverlo nei report di bug.
Durante il periodo di ritiro, nella console di Chrome DevTools viene visualizzato un avviso quando viene creato un contesto WebGL e supportato con SwiftShader. Se passi
--enable-unsafe-swiftshader
, questo messaggio di avviso verrà rimosso.